home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Utilities Professional 1-1500
/
Utilities Professional 1-1500 (1994)(WPD)[!].iso
/
12511500
/
var1425.dms
/
var1425.adf
/
Interpreter_Config.AMOS
/
Interpreter_Config.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1992-10-04
|
18KB
|
699 lines
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
'
' AMOSPro Interpretor Configuration V 1.0
'
'----------------------------------------------------------------------
'
' By Fran�ois Lionet
'
' (c) 1992 Europress Software Ltd.
'
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'
Set Buffer 16
' If called from the editor's menu
Set Accessory
' Will only have effect it the program is runned alone...
Close Editor
Global DB$
Global YDI,QUIT
Global BNAME$
Global STMX,NST
Global MX,MY,MK,MZ,MS
Global BKPOS,BKCHANGE,ABK,ADAT,BK,TBNK,BKCHUNKS
Global ESX,ESY,D_NAME$
' Maximum number of strings
STMX=256
Dim ST$(STMX)
Global ST$(),STAD
Dim FLAGS(16)
Global FLAGS()
' Default work bank
BK=10
' Location of the default config
D_NAME$="S:AMOSPro_Interpreter_Config"
' Initialisations
Resource Bank 16
INIT_SCREEN
BANK_NEW
' Call main loop, and exit!
MN_MAIN
Procedure MN_MAIN
Do
If BNAME$=""
Vdialog$(1,0)=Resource$(2)+Resource$(53)
Else
If BNAME$=D_NAME$
Vdialog$(1,0)=Resource$(2)+Resource$(54)
Else
Vdialog$(1,0)=Resource$(2)+Right$(BNAME$,32)
End If
End If
D=Dialog Run(1,1)
Repeat
Multi Wait
D=Dialog(1)
On D Proc MN_LEAVE,MN_DLOAD,MN_NLOAD,MN_SAVE,MN_SAVEAS,MN_EXT,MN_SETUP1,MN_SETUP2,MN_FILES
Until QUIT
QUIT=0
Loop
End Proc
Procedure MN_LEAVE
D=2
If BKCHANGE : D=Dialog Box(DB$,1,Resource$(11)) : End If
If D=2
MN_QUIT
End If
End Proc
Procedure MN_DLOAD
MN_LOADIT[D_NAME$]
End Proc
Procedure MN_NLOAD
MN_LOADIT[""]
End Proc
Procedure MN_LOADIT[F$]
Dialog Freeze
D=2 : If BKCHANGE : D=Dialog Box(DB$,1,Resource$(11)) : End If
If D=2
BANK_NEW : QUIT=-1
If F$=""
F$=Fsel$("**","",Resource$(14))
If F$="" : Goto _END : End If
End If
BNAME$=""
On Error Goto _ERR
Open In 1,F$ : L=Lof(1) : Close
Reserve As Work BK,L+8*1024
Bload F$,Start(BK) : ABK=Start(BK)
If Peek$(ABK,4)="PIdt"
STAD=ABK+Leek(ABK+4)+8
If Peek$(STAD,4)="PItx"
ADAT=ABK+8 : BNAME$=F$
' Strings
A=STAD+8
For ST=1 To STMX
L=Peek(A+1) : Exit If L=$FF
ST$(ST)=Peek$(A+2,L)
Add A,L+2
Next
End If
End If
If BNAME$="" : D=Dialog Box(DB$,2,Resource$(15)) : End If
End If
Goto _END
_ERR: Resume _DIA
_DIA: Bell : D=Dialog Box(DB$,2,Resource$(55)) : BNAME$="" : Goto _END
_END: Dialog Unfreeze
End Proc
Procedure MN_SAVE
MN_SAVEIT[D_NAME$]
End Proc
Procedure MN_SAVEAS
MN_SAVEIT[""]
End Proc
Procedure MN_SAVEIT[F$]
If BNAME$="" : D=Dialog Box(DB$,2,Resource$(56)) : Pop Proc : End If
Dialog Freeze
If F$=""
F$=Fsel$("**","",Resource$(14))
If F$="" : Goto _END : End If
End If
' Poke the strings back into the bank
AP=STAD+8
For S=1 To STMX
Poke AP,0
Poke AP+1,Len(ST$(S))
Poke$ AP+2,ST$(S)
Add AP,2+Len(ST$(S))
Next
Poke AP,0 : Poke AP+1,$FF : Add AP,2
AP=AP+AP mod 2
Loke STAD-4,AP-STAD
' Save the data zone to disc
On Error Goto _ERR
Bsave F$,ABK To AP
BKCHANGE=0 : BNAME$=F$
D=Dialog Box(DB$,2,Resource$(52))
Goto _END
_ERR: Resume _DIA
_DIA: D=Dialog Box(DB$,2,Resource$(57)) : BNAME$="" : Goto _END
_END: Dialog Unfreeze
End Proc
Procedure MN_EXT
If BNAME$="" : D=Dialog Box(DB$,2,Resource$(56)) : Pop Proc : End If
Dim TMP$(26)
For S=16 To 42
TMP$(N)=ST$(S) : Inc N
Next
POS=0
Do
Vdialog(1,2)=POS
Vdialog(1,3)=Array(TMP$(0))
D=Dialog Run(1,2)
Repeat
Multi Wait
D=Dialog(1)
POS=Rdialog(1,2)
Exit If D=1,2
If D=3
N=Rdialog(1,3)
MN_EDIT[Resource$(18)+Str$(N+1),TMP$(N)]
TMP$(N)=Param$
QUIT=-1 : Inc BKCHANGE
End If
Until QUIT
QUIT=0
Loop
N=0
For S=16 To 42
ST$(S)=TMP$(N) : Inc N
Next
QUIT=-1
End Proc
Procedure MN_FILES
If BNAME$="" : D=Dialog Box(DB$,2,Resource$(56)) : Pop Proc : End If
Dim TMP$(15)
For S=1 To 15
TMP$(N)=ST$(S) : Inc N
Next
POS=0
Do
Vdialog(1,2)=POS
Vdialog(1,3)=Array(TMP$(0))
D=Dialog Run(1,4)
Repeat
Multi Wait
D=Dialog(1)
POS=Rdialog(1,2)
Exit If D=1,2
If D=3
N=Rdialog(1,3)
If N=0 : T=23 Else T=24 : End If
MN_EDIT[Resource$(T),TMP$(N)]
TMP$(N)=Param$
QUIT=-1 : Inc BKCHANGE
End If
Until QUIT
QUIT=0
Loop
N=0
For S=1 To 15
ST$(S)=TMP$(N) : Inc N
Next
QUIT=-1
End Proc
Procedure MN_EDIT[T$,S$]
Vdialog$(1,1)=S$
Vdialog$(1,2)=T$
D=Dialog Run(1,3)
If D=2 : S$=Rdialog$(1,3) : End If
End Proc[S$]
Procedure MN_SETUP1
If BNAME$="" : D=Dialog Box(DB$,2,Resource$(56)) : Pop Proc : End If
Do
' Grab the flags
For F=0 To 8
If Peek(ADAT+34+F)
Vdialog(1,2+F)=1
Else
Vdialog(1,2+F)=0
End If
Next
D=Dialog Run(1,5)
Repeat
Multi Wait
D=Dialog(1)
Exit If D=1,2
If D=11 : MN_SCREEN[Resource$(43),ADAT+48,480,704,80,288,2,1] : End If
If D=12 : MN_SCREEN[Resource$(44),ADAT+58,320,704,80,288,2,1] : End If
Until QUIT
QUIT=0
Loop
For F=0 To 8
Poke ADAT+34+F,Vdialog(1,2+F)
Next
QUIT=-1 : Inc BKCHANGE
End Proc
Procedure MN_SETUP2
If BNAME$="" : D=Dialog Box(DB$,2,Resource$(56)) : Pop Proc : End If
Do
' Number of bobs
SETVDIA[16,Deek(ADAT+8),8,256,1]
' Number of sprites
SETVDIA[20,Leek(ADAT+16),16,312,2]
' Copper List
SETVDIA[24,Leek(ADAT+12)/1024,2,32,1]
' Variable name buffer
SETVDIA[28,Leek(ADAT+20)/1024,1,32,1]
' Default buffer
SETVDIA[32,Leek(ADAT+26)/1024,1,512,1]
' Ports
Vdialog$(1,2)=ST$(43) : Vdialog$(1,3)=ST$(44)
'
D=Dialog Run(1,6)
Repeat
Multi Wait
D=Dialog(1)
Exit If D=1,2
Until QUIT
QUIT=0
Loop
' Number of bobs
Doke ADAT+8,Vdialog(1,16)
' Number of sprites
Loke ADAT+16,Vdialog(1,20)
' Copper List
Loke ADAT+12,Vdialog(1,24)*1024
' Variable name buffer
Loke ADAT+20,Vdialog(1,28)*1024
' Default buffer
Loke ADAT+26,Vdialog(1,32)*1024
' Ports
ST$(43)=Rdialog$(1,2) : ST$(44)=Rdialog$(1,3)
QUIT=-1 : Inc BKCHANGE
End Proc
Procedure MN_SCREEN[T$,AD,XMIN,XMAX,YMIN,YMAX,RESX,RESY]
A=Lowres : If RESX=2 : A=Hires : End If
If RESY=2 : Add A,Laced : End If
Screen Open 1,XMAX,YMAX,2,A : Screen Hide 1
Screen Display 0,,,,14
Curs Off : Cls 0 : Palette 0,$FF0
For X=0 To XMAX Step 16 : Draw X,0 To X,YMAX : Next
For Y=0 To YMAX Step 16 : Draw 0,Y To XMAX,Y : Next
Wind Open 1,0,8,20,4,1 : Curs Off : Scroll Off
SX=Deek(AD) : SY=Deek(AD+2)
WX=Deek(AD+4) : WY=Deek(AD+6)
Screen Display 1,WX,WY,SX/RESX,SY
Screen To Front 0
Vdialog$(1,0)=T$
SETVDIA[16,Deek(AD+8),2,312,1]
D=Dialog Run(1,7)
Screen Show 1
Repeat
Multi Wait
D=Dialog(1) : Exit If D=1
If D=2 : M=1 : Clw : Gosub _DISP : End If
If D=3 : M=2 : Clw : Gosub _DISP : End If
If D=0
If Mouse Key=1
Dialog Freeze
While Mouse Key
If M=1
WX=X Mouse : WY=Y Mouse
End If
If M=2
SX=Max(Min(X Screen(1,X Mouse),XMAX),XMIN)
SY=Max(Min(Y Screen(1,Y Mouse),YMAX),YMIN)
If RESX=1
SX=SX and $FFFFFFF0
Else
SX=SX and $FFFFFFE0
End If
SY=SY and $FFFFFFF8
End If
Screen Display 1,WX,WY,SX/RESX,SY
Gosub _DISP
Wait Vbl
Wend
Dialog Unfreeze
End If
End If
Until QUIT
Screen Close 1
Screen Display 0,,,,ESY
Doke AD,SX : Doke AD+2,SY
Doke AD+4,WX : Doke AD+6,WY
Doke AD+8,Vdialog(1,16)
QUIT=-1
Pop Proc
_DISP:
Home
If M=1
Print Resource$(48);WX;" "
Print Resource$(49);WY;" "
Else
Print Resource$(50);SX;" "
Print Resource$(51);SY;" "
End If
Return
End Proc
Procedure BANK_NEW
' Erase the current config from memory
BNAME$=""
For S=0 To STMX : ST$(S)="" : Next
BKCHANGE=0
End Proc
Procedure SETVDIA[V,A,B,C,D]
Vdialog(1,V)=A
Vdialog(1,V+1)=B
Vdialog(1,V+2)=C
Vdialog(1,V+3)=D
End Proc
Procedure INIT_SCREEN
Restore DBL
Repeat
Read A$ : DB$=DB$+A$
Until A$=""
ESX=640 : ESY=200 : YDI=45
Trap Screen Open 0,ESX,ESY,8,Hires
If Errtrap : OOMEM : End If
Screen Display 0,,YDI,,
Curs Off : Flash Off : Cls 0
GRB_EDITOR_PALETTE
Paper 0 : Pen 1
Limit Mouse 96,35 To 530,312
On Error Goto ERR
Trap Dialog Open 1,DB$,48
If Errtrap : OOMEM : End If
Pop Proc
ERR: Print Mid$(DB$,Edialog,80) : Wait Key : End
' Definition of quick-run dialog boxes
DBL:
Data "SIze 1VA TW 160+,64;"
Data "BAse SWidth SX -2/,SHeight SY- 2/;"
Data "SAve 1;"
Data "RBox 0,0,SX,SY,0;"
Data "CTxt 16,8,SX 16-,32,1,1VA;"
Data "IF 0VA 1=;"
Data "["
Data " BJ 1,16,SY 24-,64,16,12ME; KY 27,0;"
Data " BJ 2,SX 80-,SY 24-,64,16,13ME; KY 13,0;"
Data "]"
Data "IF 0VA 2=;"
Data "["
Data " BJ 1,SX 80-,SY 24-,64,16,13ME; KY $FF,0;"
Data "]"
Data "RUn 0,3;"
Data "EXit;"
' Definition of the first menu page
Data "LA 1;"
Data "BAse 0,0; SIze SW,SH;"
Data "BT 1,0,0,48,16,1ME;"
Data "BI 0,XB,0,SX XB-,16,0VA;"
Data "RB 0,16,SX,SY,0;"
Data "BT 2,32,28,SX64-,16,3ME;"
Data "BT 3,XA,YB,XB XA-,YB YA-,4ME;"
Data "BT 4,XA,YB,XB XA-2/,YB YA-,5ME;"
Data "BT 5,XB,YA,XB XA-,YB YA-,6ME;"
Data "BT 6,32,YB 16+,SX64-,24,8ME;"
Data "BT 7,XA,YB,XB XA-,YB YA-,7ME;"
Data "BT 8,XA,YB,XB XA-,YB YA-,9ME;"
Data "BT 9,XA,YB,XB XA-,YB YA-,10ME;"
Data "EXit;"
' Definition of Extension screen
Data "LA 2;"
Data "BAse 0,0; SIze SW,SH;"
Data "BT 1,0,0,48,16,20ME;"
Data "BI 0,XB,0,SX XB-,16,16ME;"
Data "RB 0,16,SX,SY,0;"
Data "CTxt 32,32,SX32-,64,1,17ME;"
Data "LS 2,XA2-,YB14+,SX30-,SY14-,%11;"
Data "EXit;"
' Definition of the pop-up string edition
Data "LA 3;"
Data "BAse 16,64; SIze SW32-,72;SA 1;"
Data "RBox 0,0,SX,SY,0;"
Data "RBox 8,4,SX8-,20,1;"
Data "POut 2VA CX,8,2VA,0,3;"
Data "RBox 13,30,SX 13-,42,1;"
Data "BJ 1,16,SY 24-,128,16,12ME; KY 27,0;"
Data "BJ 2,SX144-,SY 24-,128,16,13ME; KY 13,0;"
Data "EDit 3,16,32,72,72,1VA,0,3;"
Data "RU 0,3;"
Data "EXit;"
' Definition of system files
Data "LA 4;"
Data "BAse 0,0; SIze SW,SH;"
Data "BT 1,0,0,48,16,20ME;"
Data "BI 0,XB,0,SX XB-,16,21ME;"
Data "RB 0,16,SX,SY,0;"
Data "CTxt 32,32,SX32-,64,1,22ME;"
Data "LS 2,XA2-,YB14+,SX30-,SY14-,%11;"
Data "EXit;"
' Definition of system setup, page 1
Data "LA 5;"
Data "BAse 0,0; SIze SW,SH;"
Data "BT 1,0,0,48,16,20ME;"
Data "BI 0,XB,0,SX XB-,16,27ME;"
Data "RB 0,16,SX,SY,0;"
Data "BK 2,16,24,SX32-,14,35ME;"
Data "BK 3,XA,YB,XBXA-,YBYA-,36ME;"
Data "BK 4,XA,YB,XBXA-,YBYA-,37ME;"
Data "BK 5,XA,YB,XBXA-,YBYA-,38ME;"
Data "BK 6,XA,YB,XBXA-,YBYA-,39ME;"
Data "BK 7,XA,YB,XBXA-,YBYA-,40ME;"
Data "BK 8,XA,YB,XBXA-,YBYA-,58ME;"
Data "BK 9,XA,YB,XBXA-,YBYA-,59ME;"
Data "BK 10,XA,YB,XBXA-,YBYA-,60ME;"
Data "BT 11,XA,YB8+,XBXA-2/,32,33ME;"
Data "BT 12,XB,YA,XBXA-,YBYA-,34ME;"
Data "EXit;"
' Definition of system setup, page 2
Data "LA 6;"
Data "BAse 0,0; SIze SW,SH;"
Data "BT 1,0,0,48,16,20ME;"
Data "BI 0,XB,0,SX XB-,16,27ME;"
Data "RB 0,16,SX,SY,0;"
Data "RC 16,32,416,14,1,28ME; NE 16,XB,YA;"
Data "RC 16,YB4+,416,YBYA-,1,30ME; NE 20,XB,YA;"
Data "RC 16,YB4+,416,YBYA-,1,29ME; NE 24,XB,YA;"
Data "RC 16,YB4+,416,YBYA-,1,31ME; NE 28,XB,YA;"
Data "RC 16,YB4+,416,YBYA-,1,32ME; NE 32,XB,YA;"
Data "RC 16,YB24+,416,14,1,41ME;"
Data "RB XB,YA,SX16-,YB,0; EDit 2,XA16+,YA3+,20,20,2VA,0,3;"
Data "RC 16,YB8+,416,14,1,42ME;"
Data "RB XB,YA,SX16-,YB,0; EDit 3,XA16+,YA3+,20,20,3VA,0,3;"
Data "EXit;"
' Definition of screen setup
Data "LA 7;"
Data "BAse 0,0; SIze SW,14;"
Data "BT 1,0,0,48,14,20ME;"
Data "BI 0,XB,0,208,14,0VA;"
Data "BT 2,XB,0,48,14,45ME;"
Data "BT 3,XB,0,48,14,46ME;"
Data "RC XB,0,96,14,1,47ME; NE 16,XB,YA;"
Data "EXit;"
'----------------------------------------
' Text in a RBox, on the left
' RC x,y,sx,sy,act,txt
Data "UI RC,6;["
Data "RB P1,P2,P1P3+,P2P4+,P5;"
Data "PR 6P1+,P4TH-2/ P2+,P6,3;"
Data "XY P1,P2,P1P3+,P2P4+;"
Data "]"
'----------------------------------------
' One button, with text, ON/OFF <<< variable
' BK zone,x,y,sx,sy,text1
Data "UI BK,6; ["
Data "RC P2,P3,P464-,P5,1,P6;"
Data "BU P1,P2P4+64-,P3,64,P5,P1VA,0,1;"
Data " [RB 0,0,SX,SY,0;"
Data " PR 25BP+ME CX,SY TH- 2/,25BP+ME,3;]"
Data " [SVar ZN,ZPos;]"
Data "XY P2,P3,P2P4+,P3P5+;"
Data "]"
' --------------------------------
' Number Edit: - / + / Slider / Digit
' NE zone,x,y Uses 4 variables from ZONE
Data "UI NE,3; ["
Data "SZone P1;"
Data "RBox P2,P3,128P2+,14P3+,0;"
Data "HSlide P1,XA4+,YA3+,119,8,P1VA 1P1+VA -,1,2P1+VA 1P1+VA -,3P1+VA;"
Data " [SVar ZN,ZPos 1ZN+VA +;JS 100;]"
Data "SVar 2P1+,128P2+; SVar 3P1+,P3; JSub 100;"
Data "XY P2,P3,XB,YB;"
Data " ]"
Data "LA100; RB 2ZV+VA,3ZV+VA,2ZV+VA64+,3ZV+VA14+,0;"
Data "PRint 2ZV+VA6+,3ZV+VA3+,ZVVA #,3;"
Data "XY 2ZV+VA,3ZV+VA,2ZV+VA64+,3ZV+VA14+; RTs;"
' --------------------------------
' List Slider: draw a list + a slider, linked together
' LS zone,x,y,x,y,flags
Data "UI LS,6; ["
Data "RB P2,P3,P2 16+,P5,1;"
Data "RB XB,YA,P4,P5,1;"
Data "SZone P1;"
Data "VSlide P1,P2 3+,P3 2+,9,P5 P3- 4-,P1VA,7,1P1+VA AS,1;[ZChange ZNum 1+,ZPos;]"
Data "AList P1 1+,P2 18+,P3 2+,P4 P2- 18- 8/,P5 P3- 8/,1P1+VA,P1VA,P6,0,3;[]"
Data "XY P2,P3,P4,P5;]"
'----------------------------------------
' One button, with vertical text, click only
' BV zone,x,y,sx,sy,text
Data "UI BV,6; ["
Data "SZone P6;"
Data "BU P1,P2,P3,P4,P5,0,0,1;"
Data " [RB 0,0,SX,SY,BP;"
Data " VTxt SX 2/ 4- BP+,SY ZVarTLen TH* - 2/ BP+,ZV,1;]"
Data " [BR 0;]"
Data "]"
'----------------------------------------
' One button, with text, click only
' BT zone,x,y,sx,sy,text
Data "UI BT,6; ["
Data "SZone P6;"
Data "BU P1,P2,P3,P4,P5,0,0,1;"
Data " [RB 0,0,SX,SY,BP;"
Data " PR ZV CX BP+,SY TH- 2/ BP+,ZV,3;]"
Data " [BR 0;]"
Data "]"
'---------------------------------------- '
' One button, with text to move the screen
' BT zone,x,y,sx,sy,text
Data "UI BI,6; ["
Data "SZone P6;"
Data "BU P1,P2,P3,P4,P5,0,0,1;"
Data " [RB 0,0,SX,SY,BP;"
Data " PR ZV CX BP+,SY TH- 2/ BP+,ZV,3;]"
Data " [SMove;BR 0;]"
Data "]"
'----------------------------------------
' One button, with text, click only, QUIT!
' BJ zone,x,y,sx,sy,text
Data "UI BJ,6; ["
Data "SZone P6;"
Data "BU P1,P2,P3,P4,P5,0,0,1;"
Data " [RB 0,0,SX,SY,BP;"
Data " PO ZV CX BP+,SY TH- 2/ BP+,ZV,0,3;]"
Data " [BR 0;BQuit;]"
Data "]"
'----------------------------------------
' Text centered in one RB
' CT x1,y1,x2,y2,act,text
Data "UI CT,6; ["
Data "RB P1,P2,P3,P4,P5;"
Data "PRint P3 P1- P6TW- 2/ P1+,P4 P2- TH- 2/ P2+,P6,3;"
Data "XY P1,P2,P3,P4;]"
'----------------------------------------
' Ronnies Simpson graphic box definition
' RB x1,y1,x2,y2,activated
Data "UI RB,5; [SWrite 1; SPattern 0,0;"
Data "IF P5 0=;["
Data "INk 0,0,0; GSquare P1,P2,P3 1-,P4 1-;"
Data "INk 6,6,6; GBox P1 1+,P2 1+,P3 2-,P4 2-; "
Data "INk 5,5,5; GLine P1 2+,P4 2-,P1 2+,P2 1+;"
Data " GLine P1 1+,P4 2-,P1 1+,P2 1+;"
Data " GLine P1 1+,P2 1+,P3 2-,P2 1+;"
Data "INk 2,2,2; GLine P1 2+,P4 2-,P3 2-,P4 2-;"
Data " GLine P3 3-,P2 2+,P3 3-,P4 2-;"
Data " GLine P3 2-,P2 1+,P3 2-,P4 2-;"
Data "INk 3,3,3; GLine P1 3+,P2 2+,P1 4+,P2 2+;]"
Data "IF P5 0\;["
Data "INk 0,0,0; GSquare P1,P2,P3 1-,P4 1-;"
Data "INk 2,2,2; GBox P1 1+,P2 1+,P3 2-,P4 2-; "
Data "INk 1,1,1; GLine P1 2+,P4 2-,P1 2+,P2 1+;"
Data " GLine P1 1+,P4 2-,P1 1+,P2 1+;"
Data " GLine P1 1+,P2 1+,P3 2-,P2 1+;"
Data "INk 5,5,5; GLine P1 2+,P4 2-,P3 2-,P4 2-;"
Data " GLine P3 3-,P2 2+,P3 3-,P4 2-;"
Data " GLine P3 2-,P2 1+,P3 2-,P4 2-;]"
Data "SWrite 0; XY P1,P2,P3,P4;]"
Data ""
End Proc
Procedure GRB_EDITOR_PALETTE
ADAT=Leek(Dreg(3))
If ADAT=0
Palette 0,$6F,$77,$EEE,$F00,$DD,$AA,$FF3
Else
For C=0 To 7
Colour C,Deek(ADAT+28+C*2)
Next
Colour 1,(Colour(2) and $EEE)/2
End If
End Proc
Procedure OOMEM
Trap Dialog Clr 1
Trap Dialog Close
Trap D=Dialog Box(DB$,2,Resource$(61))
MN_QUIT
End Proc
Procedure MN_QUIT
Dialog Close
Trap Screen Close 0
Trap Screen Close 1
Edit
End Proc